import request from '@/utils/request';


/**
 *   get方法
 *   params  将指定参数拼接在url之后，传参方式为 url ?
 *
 */
export async function fetch( {url,...params } :{url:string, params?:object }) {
  return request.get(`${url}`, {
    params,
  });
}

/**
 *  get方法
 *  传参方式为 url/id  或者  url/sid
 */
export async function fetchByIdOrSid( {url,id,sid} :{url:string, id?:any,sid?:any} ) {
  return request.get(`${url}/${id || sid}`, {
  });
}

/**
 *  post方法
 *  data: 将指定参数放在body里面
 *
 */
export async function add( {url,...params} :{url:string, params:object} ) {
  return request.post(`${url}`, {
    data:params,
  });
}

/**
 *  post方法
 *  data: 将指定参数放在body里面
 *  传入body的数据格式为数组
 *
 *
 */
export async function addList( {url,list} :{url:string, list: Array<any>} ) {
  return request.post(`${url}`, {
    data:list,
  });
}

/**
 *  put方法
 *  params  将指定参数拼接在url之后
 *  data: 将指定参数放在body里面
 *
 */
export async function edit( {url,id,sid,...params} :{url:string, id?:any, sid?:any,params:object} ) {
  return request.put(`${url}/${id || sid }`, {
    data:{id,sid,...params},
  });
}

/**
 *  delete方法
 *  传参方式 url/id  或者 url/sid
 *
 */
export async function remove( {url,id,sid} :{url:string, id?:any,sid?:any} ) {
  return request.delete(`${url}/${id || sid}`, {
  });
}
